<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="icon" type="shortcut icon" th:href="@{/img/favicon.ico}"/>
    <link rel="stylesheet" type="text/css" th:href="@{/css/bootstrap.min.css}"/>
    <link rel="stylesheet" type="text/css" th:href="@{/css/global.css}"/>
    <link rel="stylesheet" type="text/css" th:href="@{/css/login.css}"/>
    <link rel="stylesheet" th:href="@{/css/bootstrapValidator.css}" />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css">
    <title>Java精英 - 登录</title>
</head>
<body>
<div class="nk-container">
    <!-- 头部 -->
    <header class="bg-dark sticky-top" th:replace="index::header"></header>

    <!-- 内容 -->
    <div class="main">
        <div class="container pl-5 pr-5 pt-3 pb-3 mt-3 mb-3">
            <h3 class="text-center text-info border-bottom pb-3">登&nbsp;&nbsp;录</h3>
            <form class="mt-5" id="loginForm" onsubmit="return false">
                <div class="form-group row">
                    <label for="username" class="col-sm-2 col-form-label text-right">账号|邮箱:</label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" id="username" name="username" placeholder="账号|邮箱"
                               required>
                    </div>
                </div>
                <div class="form-group row mt-4">
                    <label for="password" class="col-sm-2 col-form-label text-right">密码:</label>
                    <div class="col-sm-10">
                        <input type="password" class="form-control" id="password" name="password" placeholder="请输入登录密码"
                               required>
                    </div>
                </div>
                <div class="form-group row mt-4">
                    <label for="code" class="col-sm-2 col-form-label text-right">验证码:</label>
                    <div class="col-sm-6">
                        <input type="text" class="form-control" id="code" name="code" placeholder="请输入验证码"
                               autocomplete="off" required>
                    </div>
                    <div class="col-sm-4">
                        <img th:src="@{/kaptcha}" id="kaptcha" style="width:100px;height:40px;" class="mr-2"/>
                        <a href="javascript:refresh_kaptcha();" class="font-size-12 align-bottom">刷新验证码</a>
                    </div>
                </div>
                <div class="form-group row mt-4">
                    <div class="col-sm-2"></div>
                    <div class="col-sm-10">
                        <input type="checkbox" id="rememberMe" name="rememberMe"
                               th:checked="${rememberMe}">
                        <label class="form-check-label" for="rememberMe">记住我</label>
                        <a th:href="@{/forget}" class="text-danger float-right">忘记密码?</a>
                    </div>
                </div>
                <div class="form-group row mt-4">
                    <div class="col-sm-2"></div>
                    <div class="col-sm-10 text-center">
                        <button type="button" class="btn btn-info text-white" id="loginBtn" style="width: 100%">立即登录
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </div>

    <!-- 尾部 -->
    <footer class="bg-dark" th:replace="index::footer"></footer>

</div>
<script th:src="@{/js/jquery-3.1.0.min.js}"></script>
<script th:src="@{/js/popper.min.js}"></script>
<script th:src="@{/js/bootstrap.min.js}"></script>
<script th:src="@{/js/global.js}"></script>
<script th:src="@{/js/layer/layer.js}"></script>
<script th:src="@{/js/bootstrapValidator.js}"></script>
<script>
    $(function () {
        $('#loginForm').bootstrapValidator({
            message: 'This value is not valid',
            feedbackIcons: {
                valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                username: {
                    message: '账号|邮箱验证失败',
                    validators: {
                        notEmpty: {
                            message: '账号|邮箱不能为空！'
                        }
                    }
                },
                password: {
                    message: '密码验证失败',
                    validators: {
                        notEmpty: {
                            message: '密码不能为空！'
                        }
                    }
                },
                code: {
                    message: '验证码验证失败',
                    validators: {
                        notEmpty: {
                            message: '验证码不能为空！'
                        }
                    }
                }
            }
        });
    });

    //登录表单提交
    $('#loginBtn').click(function (event) {
        $('#loginForm').data('bootstrapValidator').validate();
        if ($('#loginForm').data('bootstrapValidator').isValid()) {
            var username = $("#username").val().trim();
            var password = $("#password").val().trim();
            var code = $("#code").val().trim();
            var jsonStr = {
                "username": username,
                "password": password,
                "code": code
            };
            $.ajax({
                url: "/login",
                method: "post",
                data: jsonStr,
                success: function (res) {
                    if (res.code === 0) {
                        window.location.href = "/index";
                    } else {
                        layer.msg(res.msg, {icon: 2});
                    }
                    refresh_kaptcha();
                },
                error: function (e) {
                    alert("错误！！");
                }
            });
        }
    });

    function refresh_kaptcha() {
        var path = CONTEXT_PATH + "/kaptcha?p=" + Math.random();
        $("#kaptcha").attr("src", path);
    }
</script>
</body>
</html>
